1. Field of the Invention
The present invention relates to the field of computer systems. In particular, the present invention is a method and apparatus for extensible interapplication link management.
2. Art Background
A link represents a relationship between two or more anchors. An anchor at one of the ends of a link is typically an entity or a portion of a file. An entity of a file is application defined and managed. An application is a computer program that creates and manages files and the entities contained therein, including the linked entities, i.e. the anchors. A file and its entities may be managed by one or more applications. Different files managed by different applications may contain different kinds of entities. For example, an application may be a word processor application or a spreadsheet application. The word processor application manages document files containing sections and paragraphs, whereas the spreadsheet application manages spreadsheet files containing ranges of cells.
The relationship between linked anchors embodied in a link is specified by the link's type. Two link types are common, navigation links and include links.
1. Navigation Links. A navigation link, sometimes called a hypertext link, is a bridge between anchors. A user can "follow" a navigation link from one anchor to another, where "following" means displaying the anchor at the other end of the link. One application of navigation links is cross-referencing. For example, in an article, citation numbers in the text might be linked to bibliography entries. To examine an entry, a reader selects a citation number and directs the linking system to "follow" the link. The linking system displays the entry in the bibliography (the anchor at the other end of the link).
2. Include Links. An include link has the effect of automatically copying the contents of one anchor into another, when the first anchor is changed. For example, a drawing might be incorporated in several documents. Incorporating the documents by means of an include link simplifies updating the documents. Whenever the linked drawing is changed, it is automatically copied into the documents.
Existing linking systems have a number of shortcomings:
1. They provide only a single link type.
2. They are monolithic. There is no separation between an application that uses links and the linking system that implements links. Thus, for an application to use links, it must be tightly integrated with the linking system, which is typically difficult and impractical for proprietary applications.
3. They work on single computers. Anchors stored on different computers in a network cannot be linked.
4. The set of link types is fixed. Programmers who use the linking system cannot create new link types to represent new kinds of relationships between anchors.
These shortcomings have hindered the broad application of linking technology. As will be described, the present invention overcomes the disadvantages of the prior art, and provides a method and apparatus for extensible inter-application link management.